{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. Question 1\n",
    "在典型的卷积神经网络中，随着网络的深度增加，你能看到的现象是？\n",
    "\n",
    "【 】 nHnH 和 nWnW 增加，同时nCnC 减少。\n",
    "\n",
    "【 】 nHnH 和 nWnW 减少，同时 nCnC 也减少。\n",
    "\n",
    "【 】 nHnH 和 nWnW 增加，同时 nCnC 也增加。\n",
    "\n",
    "【★】 nHnH 和 nWnW 减少，同时 nCnC 增加。\n",
    "\n",
    "2. Question 2\n",
    "在典型的卷积神经网络中，你能看到的是？\n",
    "\n",
    "【★】 多个卷积层后面跟着的是一个池化层。\n",
    "\n",
    "【 】 多个池化层后面跟着的是一个卷积层。\n",
    "\n",
    "【★】 全连接层（FC）位于最后的几层。\n",
    "\n",
    "【 】 全连接层（FC）位于开始的几层。\n",
    "\n",
    "3. Question 3\n",
    "为了构建一个非常深的网络，我们经常在卷积层使用“valid”的填充，只使用池化层来缩小激活值的宽/高度，否则的话就会使得输入迅速的变小。\n",
    "\n",
    "【 】 True\n",
    "\n",
    "【★】 False\n",
    "\n",
    "博主注：我们经常使用“SAME”的padding方式。\n",
    "\n",
    "4. Question 4\n",
    "我们使用普通的网络结构来训练一个很深的网络，要使得网络适应一个很复杂的功能（比如增加层数)，总会有更低的训练误差。\n",
    "\n",
    "【 】 True\n",
    "\n",
    "【★】 False\n",
    "\n",
    "博主注：在没有残差的普通神经网络中，理论上是误差越来越低的，但是实际上是随着网络层数的加深，先减小再增加；在有残差的ResNet中，即使网络再深，训练误差都会随着网络层数的加深逐渐减小。\n",
    "\n",
    "5. Question 5\n",
    "下面计算残差(ResNet)块的公式中，横线上应该分别填什么？\n",
    "a[l+2]=g(W[l+2]g(W[l+1]al+b[l+1])+b[l+2]+?–––––– )+?––––––\n",
    "a[l+2]=g(W[l+2]g(W[l+1]al+b[l+1])+b[l+2]+?_ )+?_\n",
    "【 】 分别是 00 与 z[l+1]z[l+1] 。\n",
    "\n",
    "【★】 分别是 a[l]a[l] 与 00 。\n",
    "\n",
    "【 】 分别是 z[l]z[l] 与 a[l]a[l] 。\n",
    "\n",
    "【 】 分别是 00 与 a[l]a[l] 。\n",
    "\n",
    "博主注：推导一下公式就好了。\n",
    "a[l+2]=g(z[l+2]+a[l])=g(W[l+2]×a[l+1]+b[l+2]+a[l])=g(W[l+2]×g(z[l+1])+b[l+2]+a[l])=g(W[l+2]×g(W[l+1]×a[l]+b[l+1])+b[l+2]+a[l]––––––––)+0––––––(1.0)(1.1)(1.2)(1.3)\n",
    "(1.0)a[l+2]=g(z[l+2]+a[l])(1.1)=g(W[l+2]×a[l+1]+b[l+2]+a[l])(1.2)=g(W[l+2]×g(z[l+1])+b[l+2]+a[l])(1.3)=g(W[l+2]×g(W[l+1]×a[l]+b[l+1])+b[l+2]+a[l]_)+0_\n",
    "6. Question 6\n",
    "关于残差网络下面哪个（些）说法是正确的？\n",
    "\n",
    "【 】 使用跳越连接能够对反向传播的梯度下降有益且能够帮你对更深的网络进行训练。\n",
    "\n",
    "【★】 跳跃连接计算输入的复杂的非线性函数以传递到网络中的更深层。\n",
    "\n",
    "【 】 有L层的残差网络一共有L2L2种跳跃连接的顺序。\n",
    "\n",
    "【★】 跳跃连接能够使得网络轻松地学习残差块类的输入输出间的身份映射。\n",
    "\n",
    "博主注：请参考这里\n",
    "\n",
    "7. Question 7\n",
    "假设你的输入的维度为64x64x16，单个1x1的卷积过滤器含有多少个参数（包括偏差）？\n",
    "\n",
    "【 】 2\n",
    "\n",
    "【★】 17\n",
    "\n",
    "【 】 4097\n",
    "\n",
    "【 】 1\n",
    "\n",
    "8. Question 8\n",
    "假设你有一个维度为nH×nW×nCnH×nW×nC的卷积输入，下面哪个说法是正确的（假设卷积层为1x1，步伐为1，padding为0）？\n",
    "\n",
    "【★】 你能够使用1x1的卷积层来减少nCnC，但是不能减少 nHnH、nWnW\n",
    "【★】 你可以使用池化层减少 nHnH、nWnW，但是不能减少 nCnC\n",
    "【 】 你可以使用一个1x1的卷积层来减少nHnH、nWnW和nCnC.\n",
    "\n",
    "【 】 你可以使用池化层减少 nHnH、 nWnW和nCnC.\n",
    "\n",
    "9. Question 9\n",
    "关于 Inception 网络下面哪些说法是正确的\n",
    "\n",
    "【 】 Inception 网络包含了各种网络的体系结构（类似于随机删除节点模式，它会在每一步中随机选择网络的结构），因此它具有随机删除节点的正则化效应。\n",
    "\n",
    "【★】 Inception 块通常使用1x1的卷积来减少输入卷积的大小，然后再使用3x3和5x5的卷积。\n",
    "\n",
    "【★】 一个inception 块允许网络使用1x1, 3x3, 5x5 的和卷积个池化层的组合。\n",
    "\n",
    "【 】 通过叠加inception块的方式让inception 网络更深不会损害训练集的表现。\n",
    "\n",
    "10. Question 10\n",
    "下面哪些是使用卷积网络的开源实现（包含模型/权值）的常见原因？\n",
    "\n",
    "【 】 为一个计算机视觉任务训练的模型通常可以用来数据扩充，即使对于不同的计算机视觉任务也是如此。\n",
    "\n",
    "【★】 为一个计算机视觉任务训练的参数通常对其他计算机视觉任务的预训练是有用的。\n",
    "\n",
    "【★】 使用获得计算机视觉竞赛奖项的相同的技术，广泛应用于实际部署。\n",
    "\n",
    "【★】 使用开源实现可以很简单的来实现复杂的卷积结构。\n",
    "\n",
    "\n",
    "————————————————\n",
    "版权声明：本文为CSDN博主「何宽」的原创文章，遵循 CC 4.0 BY-SA 版权协议，转载请附上原文出处链接及本声明。\n",
    "原文链接：https://blog.csdn.net/u013733326/article/details/80166080"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
